package com.web_bloks.mvc.client;

/**
 * 
 * @author Jean-Lou Dupont
 *
 */
public interface IMediator {

	/**
	 * GETTER Name
	 * 
	 * @return name string
	 */
	public String getMediatorName();
	
	/**
	 * GETTER View Component
	 * 
	 * @return object
	 */
	public Object getViewComponent();

	/**
	 * SINK for notifications
	 * 
	 * @param notification
	 */
	public void handleNotification(INotification notification);
	
	/**
	 * GETTER for notification interests
	 * 
	 * Corresponds to the 'type' information provided
	 * through the INotification interface
	 * 
	 * @return string[]
	 */
	public String[] listNotificationInterests();
	
}//